COMPSYS 201 AVR assignment Part 1
The assignment is designed to engage you with the learning outcomes of the course - your learning about uC (microcontroller) based ES (embedded systems). It involves answering technical and programming questions about the AVR uC, many involve use of the circuit and AVR simulators.
All answers will be submitted online.
Aim to spend at least 3 hours per week working on it, start this week, as there are questions that relate to lecture content from each lecture.
- Some questions are worth more marks than others.
- Some questions must be answered multiple times to get full marks to encourage you to ground your understandings.
- For many questions once you save an answer you will see if you got it correct or not.You can re-attempt these questions multiple times until you get them correct.
- Some questions will be marked by course staff after the assignment due date.
- You can close and reopen the assignment once you have started it and your answers and marks will be saved.
- A grade summary is visible further down the page
- To navigate click on a question number or click on the previous/next question buttons
- These questions work on Firefox or Chrome on a PC (they may or may not work on an Apple Mac in Chrome)
- You may ask general non-specific, questions on Piazza about a question to gain support.
- To avoid losing your work, once you begin your answer to a question, you are advised to finish and save it; as you may be logged out after a certain period of inactivity.
- After the assignment is due, access to it will be blocked for several days for final marking to take place. Grades will then be uploaded to canvas (not before). The assignment will then be available again in time for you to revise for the exam, however any answers entered after the due date will not count toward the assignment grade.
- I wrote this software - if you have a technical issue save a screen shot of the problem and send it to bill.collis@auckland.ac.nz. Please do not post it to Piazza, as there is often a delay in reading Piazza posts.
Academic Integrity - "there are no shortcuts to any place worth going "
Are you familiar with the universities policies on your academic work? They exist for a good reason. When you shortcut your learning by using other peoples work you are the one who ultimately loses. The University of Auckland does not tolerate cheating, or assisting others to cheat, and views cheating in coursework as a serious offense. The work that you submit must be your own. Some of the work you submit will be compared to other peoples submissions to check its authenticity. Refer to the University of Auckland Student Academic Conduct Statute and the guidance on Third Party Assistance if you have any questions.
Question |
Content |
You have attempted it |
You got it fully correct |
You need to get it fully correct |
Value of fully correct answer |
Your Score |
Out of possible |
Assignment Progress |
Question |
Content |
You have attempted it |
You got it fully correct |
You need to get it fully correct |
Value of fully correct answer |
Your Score |
Out of possible |
Assignment Progress |
- Instructions
- Devices
- Reg's
- Var's
- Block Diagram
- State Machine
- about System Designer JS
PLEASE WAIT FOR EVERYTHING TO LOAD - Note you need to be using Firefox or Chrome to run program code
State Machine designer
System Designer JS by Bill Collis
This program was designed to help learners who are new to microcontroller based embedded systems
The Block Diagram Editor
Drag and drop I/O devices onto the block diagram
Link them to the microcontroller
As you do the program code will automatically be generated to match the I/O device and its connection to the microcontroller pins
The Code Window
Code can be run or stepped through line by line
The slider changes the speed of the run
T changes Theme and F changes Font size
The State Machine Editor
Click and drag to draw new states
Right click to add actions to states
Click and drag inside a state to draw transistions between states
Add conditions inside [] to transisitions by double clicking to edit or right click e.g. [IS_SW_LOW]
Add actions to transitions in the form [conditon]/action e.g. [IS_SW_LOW]/CLR_LED; _delay_ms(DEL);
There is no undo so be careful
analytics